import {Component, OnInit} from '@angular/core';
import {CommonModule} from '@angular/common';
import {ListBoxBaseComponent} from "./list-box-base.component";

//当一个组件扩展另一个组件或指令时，它会继承基类的装饰器和基类的装饰成员中定义的所有元数据。 这包括选择器、模板、样式、主机绑定、输入、输出、生命周期方法和任何其他设置。
@Component({
  selector: 'app-inheritance',
  standalone: true,
  imports: [CommonModule],
  template: `
      <div class="container">
          <p>inheritance worker------base value = {{ value }}</p>
          <input type="text"> <span>会继承父组件的事件</span>
      </div>
  `,
  styles: ``,
  host: {
    '(click)': 'focusActiveOption()',
  },
})
export class InheritanceComponent extends ListBoxBaseComponent implements OnInit {

  constructor() {
    super();

    this.value = '覆盖value值'
  }

  //生命周期也继承了
  override ngOnInit(): void {
    super.ngOnInit()
  }

  focusActiveOption() {
    console.log('>>>>host click 事件')
  }

}
